home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-07-13 | 2.2 KB | 116 lines | [TEXT/PTM2] |
- //
- // this file should be located in the PT Resources folder
- //
- // version 1.0 - jan 17, 1996
- //
-
-
- //
- // process url reference
- //
- FUNC main(STR kind, STR url, STR opt)
- {
- STR host,port,user,pass,upurl;
-
- IF (kind == "CONF") {
- parse_ncsa(url,&host,&port,&user,&pass);
- telnet_to(host,port,user,pass);
- RETURN(0);
- }
-
- IF ((STR_LEFT(url,1) == "<") && (STR_RIGHT(url,1) == ">")) {
- url = STR_MID(url,1,STR_LEN(url)-2);
- }
- IF (STR_UPPER(STR_LEFT(url,4)) == "URL:") {
- url = STR_MID(url,4);
- }
- upurl = STR_UPPER(url);
-
- IF ((kind == "GURL") && (STR_LEFT(upurl,7) == "TELNET:")) {
- parse_telnet(url,&host,&port,&user,&pass);
- telnet_to(host,port,user,pass);
- RETURN(0);
- }
-
- RETURN(0);
- }
-
- // parse telnet info from NCSA Telnet CONF file
- FUNC parse_ncsa(STR file, STR host, STR port, STR user, STR pass)
- {
- INT fd;
- STR name;
-
- host = port = user = pass = "";
-
- fd = F_OPEN(file,"RW");
- IO_SCANF(fd,'name= "%s"^m',name);
- IO_SCANF(fd,'host= "%s"^m',host);
- IO_SCANF(fd,'port= %s^m',port);
- F_CLOSE(fd);
- F_DELETE(file);
- RETURN(0);
- }
-
- // parse telnet info from url
- FUNC parse_telnet(STR url, STR host, STR port, STR user, STR pass)
- {
- INT div;
-
- user = pass = host = port = "";
-
- div = STR_INDEX("://",url);
- IF (div < 0) { RETURN(0) }
- url = STR_MID(url,div+3);
-
- div = STR_INDEX("@",url);
- IF (div) {
- user = STR_LEFT(url,div);
- url = STR_MID(url,div+1);
- div = STR_INDEX(":",user);
- IF (div > 0) {
- pass = STR_MID(user,div+1);
- user = STR_LEFT(user,div);
- }
- }
- host = url;
- div = STR_INDEX(":",host);
- IF (div > 0) {
- port = STR_MID(host,div+1);
- host = STR_LEFT(host,div);
- }
- IF (STR_RIGHT(host,1) == "/") {
- host = STR_LEFT(host,STR_LEN(host)-1);
- }
- RETURN;
- }
-
- // telnet to a site
- FUNC telnet_to(STR host, STR port, STR user, STR pass)
- {
- INT x;
- STR file;
-
- WHILE (1) {
- file = ".PREF:PT Telnet URL";
- IF (IS_FILE(file)) { BREAK }
- file = FN_GETPATH(5)+"{Telnet}";
- IF (IS_FILE(file)) { BREAK }
- RETURN(-1);
- }
-
- x = NUM_STR(port);
- IF (x == 0) { x = 23 }
- port = STR_NUM(x);
-
- UI_OPEN(file);
- UI_SET("Phone Number",STR_FORMAT("%s,%s",host,port));
- UI_SET("Term Window Name",host);
- UI_SET("Close Window After Connect","1");
- UI_MENU("File:Save");
- UI_CLICK("Retry");
-
- RETURN(0);
- }
-
-